﻿# CMakeList.txt: DemoWidgetCMakeApp 的 CMake 项目，在此处包括源代码并定义
# 项目特定的逻辑。

# qt5.15的cmake版本不能太低,设置版本要求
cmake_minimum_required(VERSION 3.21)

# 设置项目名
project(DemoWidgetCMakeApp LANGUAGES CXX)

#设置C++版本
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core)
find_package(Qt${QT_VERSION_MAJOR}
     COMPONENTS
        Core
        Gui
        Widgets
)

# 自动调用MOC来转换文件
set(CMAKE_AUTOMOC ON) 
# 自动调用UIC来转换文件
set(CMAKE_AUTOUIC ON) 
# 自动调用RCC来转换文件
set(CMAKE_AUTORCC ON) 

#设置项目源文件
set(PROJECT_SOURCES
    main.cpp
    QtWidgetClass.ui
    QtWidgetClass.h
    QtWidgetClass.cpp
)

#生成名为DemoWidgetCMakeApp的可执行文件，并关联所有源文件
add_executable(DemoWidgetCMakeApp ${PROJECT_SOURCES})

#在Windows平台下，将可执行文件标记为GUI应用程序（不显示控制台窗口）
set_target_properties(DemoWidgetCMakeApp
    PROPERTIES
        WIN32_EXECUTABLE TRUE
)

#将Qt模块链接到可执行目标
target_link_libraries(DemoWidgetCMakeApp
    PUBLIC
        Qt::Core
        Qt::Gui
        Qt::Widgets
)